/*
 * 15_JUL2011_Array.c
 *
 *  Created on: Jun 18, 2012
 *      Author: ubuntu
 */

#include <stdlib.h>
#include <stdio.h>

void calculaMediaAux(int ** notas, char ** atleta, int maxAtletas, int maxNotas) {
	int i;
	int media = 0;

	FILE * fp = fopen("resultados.txt", "w");

	for (i = 0; i < maxAtletas; i++) {
		int notaMin = 20;
		int soma = 0;
		int j = 0;

		int notaMax = 0;
		//verificar problema nota minima
		for (j = 0; j < maxNotas; j++) {

			soma += notas[i][j];

			if (notas[i][j] < notaMin) {
				notaMin = notas[i][j];

			}
			if (notas[i][j] > notaMax) {

				notaMax = notas[i][j];
			}

		}

		media = (soma - notaMax - notaMin) / (maxNotas - 2);
		if (media >= 10) {
			fprintf(fp, "%s Aprovado\n", atleta[i]);

		} else {
			fprintf(fp, "%s Reprovado\n", atleta[i]);
		}

	}
//	fflush(fp);
	fclose(fp);
}

int main(int argc, char **argv) {

	int numNotas;
	int numAtletas;

	puts("Quantos atletas: ");

	scanf("%d", &numAtletas);

	puts("Quantas notas: ");

	scanf("%d", &numNotas);

	//char atleta[numAtletas][100];

	char ** atleta = (char**) malloc(sizeof(char*) * numAtletas);
	int i = 0;
	for (i = 0; i < numAtletas; i++) {
		atleta[i] = (char*) malloc(sizeof(char) * 100);
	}

	int **notas = (int **) malloc(sizeof(int *) * numAtletas);

	for (i = 0; i < numAtletas; i++) {
		notas[i] = (int *) malloc(sizeof(int) * numNotas);
	}

	for (i = 0; i < numAtletas; i++) {

		//pedir nome;
		puts("Indique o nome: ");
		scanf("%s", atleta[i]);

		int j = 0;

		//pedir notas deste atleta
		for (j = 0; j < numNotas; j++) {

			int nota = 0;
			puts("Indique as notas: ");
			scanf("%d", &nota);

			notas[i][j] = nota;
		}

	}

	//devolver média,

	calculaMediaAux(notas, atleta, numAtletas, numNotas);

}
